home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
cpp_libs
/
idioms.lha
/
idioms
/
5-23.c
< prev
next >
Wrap
C/C++ Source or Header
|
1993-08-08
|
947b
|
22 lines
/* Copyright (c) 1992 by AT&T Bell Laboratories. */
/* Advanced C++ Programming Styles and Idioms */
/* James O. Coplien */
/* All rights reserved. */
int main() {
Value *v = new Value(100,1260); // voltage at a frequency
BPF bpf(1000, 10000); // a band-pass filter
HPF hpf(1100); // a high-pass filter
LPF lpf(8000); // a low-pass filter
Filter *a; // a pointer to a filter
a = (Filter*)bpf(&hpf); // apply a band-pass filter to a
a->print(); // high-pass filter: result?
(*a)(v)->print(); // apply to a voltage and print
a = (Filter*)(*a)(&lpf); // apply that to a low-pass
a->print(); // filter: whaddya get?
a = (Filter*)(*a)(v); // now apply voltage to input
a->print(); // of all that, and print
lpf(&hpf)->print(); // combine low- & high-pass
return 0; // filters
}